package com.ttg.common.utils;

import org.apache.commons.lang3.StringUtils;

import java.lang.reflect.Field;
import java.util.Objects;

/**
 * 目前仅包含一个方法，判断一个对象的所有属性是否都为空
 *
 * @author CZW
 * @date 2021/09/23 11:22:11:22
 */
public class BeanUtil {

    /**
     * 判断对象中属性值是否全为空
     *
     * @param object
     * @return
     */
    public static boolean objAllFieldsIsNull(Object object) {
        if (null == object) {
            return true;
        }
        try {
            for (Field f : object.getClass().getDeclaredFields()) {
                f.setAccessible(true);
                if(f.getName().equals("serialVersionUID")){
                    continue;
                }
                if (Objects.nonNull(f.get(object))  && StringUtils.isNotBlank(f.get(object).toString())) {
                    return false;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }

}
